"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.hasOwn = exports.isSymbol = exports.isFunction = exports.isObject = exports.isArray = exports.isPlainObject = void 0;
var objectToString = Object.prototype.toString;
var toTypeString = function (value) { return objectToString.call(value); };
var hasOwnProperty = Object.prototype.hasOwnProperty;
exports.isPlainObject = function (val) {
    return toTypeString(val) === '[object Object]';
};
exports.isArray = Array.isArray;
exports.isObject = function (x) { return typeof x === 'object'; };
exports.isFunction = function (x) { return typeof x === 'function'; };
exports.isSymbol = function (val) { return typeof val === 'symbol'; };
exports.hasOwn = function (val, key) { return hasOwnProperty.call(val, key); };
